import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import vueDevTools from 'vite-plugin-vue-devtools'

import removeConsole from "vite-plugin-remove-console";
import { viteMockServe } from 'vite-plugin-mock';
// https://vitejs.dev/config/
import Components from 'unplugin-vue-components/vite'
import Icons from "unplugin-icons/vite"
// icon 自动引入解析器
import IconsResolver from "unplugin-icons/resolver"
// icon 加载 loader
import { FileSystemIconLoader } from "unplugin-icons/loaders"

// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  //静态资源服务的文件夹
  publicDir: "public",
  envDir: './env',//加载 .env 文件的目录
  json:{stringify:true},
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  plugins: [
    vue(),
    vueJsx(),
    //vueDevTools(),
	removeConsole({
		includes: ['log', 'warn'],
	}),
	Components({
		resolvers: [
			IconsResolver({
				prefix: 'i', // 自动引入的Icon组件统一前缀，默认为 i，设置false为不需要前缀
				// {prefix}-{collection}-{icon} 使用组件解析器时，您必须遵循名称转换才能正确推断图标。
				// alias: { park: 'icon-park' } 集合的别名
				//enabledCollections: ['ep','mdi'], // 这是可选的，默认启用 Iconify 支持的所有集合['mdi']
			}),
		]
	}),
	Icons({
		compiler: 'vue3',// 指定编译器
		autoInstall: true,// 自动安装
	}),
	viteMockServe({
		mockPath: './mock'
	}),
  ],
  server: {
  	//用来配置跨域
  	host: '127.0.0.1',
  	port: 81,
  	proxy: {
  		'/api': {
  			secure: false,
  			target: 'https://127.0.0.1:8080',
  			changeOrigin: true,
  			//rewrite: (path) => path.replace(/^\/api/, '')
  		},
  	}
  },
})
